from sympy import *
init_printing()
(alpha,beta,gamma)=symbols('alpha,beta,gamma')
$X=\left[\begin{matrix}0 & 1\\1 & 0\end{matrix}\right], \ Y=\left[\begin{matrix}0 & - i\\i & 0\end{matrix}\right], \ Z=\left[\begin{matrix}1 & 0\\0 & -1\end{matrix}\right], \ H=\left[\begin{matrix}\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\\frac{\sqrt{2}}{2} & - \frac{\sqrt{2}}{2}\end{matrix}\right]$
X_gate=Matrix([[0,1],[1,0]])
Y_gate=Matrix([[0,-I],[I,0]])
Z_gate=Matrix([[1,0],[0,-1]])
H_gate=Matrix([[1,1],[1,-1]])/sqrt(2)
$\mid 0 \rangle = \left[\begin{matrix}1\\0\end{matrix}\right], \ \mid 1 \rangle = \left[\begin{matrix}0\\1\end{matrix}\right], \ \mid \Psi \rangle = \left[\begin{matrix}\alpha\\\beta\end{matrix}\right], \ \mid \Psi_H \rangle = \frac{1}{\sqrt{2}}\left[\begin{matrix}1\\1\end{matrix}\right]$
state_0=Matrix([[1],[0]])
state_1=Matrix([[0],[1]])
state_random=alpha*state_0+beta*state_1
state_H=state_random.subs(alpha,1/sqrt(2)).subs(beta,1/sqrt(2))
$P_X= \left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right], \ P_Y\left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right], \ P_{+45}\left[\begin{matrix}0.5 & -0.5\\-0.5 & 0.5\end{matrix}\right], \ P_{-45}\left[\begin{matrix}0.5 & 0.5\\0.5 & 0.5\end{matrix}\right]$
Polar_X=Matrix([[1,0],[0,0]])
Polar_Y=Matrix([[0,0],[0,1]])
Polar_45p=Matrix([[1/2,-1/2],[-1/2,1/2]])
Polar_45m=Matrix([[1/2,1/2],[1/2,1/2]])
$\left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right] \cdot \left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right] = \left[\begin{matrix}0 & 0\\0 & 0\end{matrix}\right]$
Polar_X@Polar_Y
$\left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right] \cdot \left[\begin{matrix}0.5 & -0.5\\-0.5 & 0.5\end{matrix}\right] \cdot \left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right] = \left[\begin{matrix}0 & -0.5\\0 & 0\end{matrix}\right]$
(Polar_X@Polar_45p@Polar_Y)@state_random
$ \left[\begin{matrix}1 & 0\\0 & e^{i \gamma}\end{matrix}\right] $, $ \left[\begin{matrix}e^{i \gamma} & 0\\0 & 1\end{matrix}\right] $
Y_delay=Matrix([[1,0],[0,exp(I*gamma)]])
X_delay=Matrix([[exp(I*gamma),0],[0,1]])
rotator=Matrix([[cos(gamma),-sin(gamma)],[sin(gamma),cos(gamma)]])
rotator
rotator.subs(gamma, pi/2)
$ \left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right] \left[\begin{matrix}\alpha\\\beta\end{matrix}\right] = \left[\begin{matrix}\alpha\\0\end{matrix}\right]$, a detektor az amplitudó négyzetet méri: $ \mid \alpha \mid ^2 $ -et.
(Polar_X@state_random).norm()**2